home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / math / rtksp108.zip / RANKSTAT.SP_ / RANKSTAT (.txt)
Microsoft Windows Help File Content  |  1996-04-03  |  23KB  |  384 lines

  1. R-Tek Scratchpad
  2. Version   1.00
  3. TSPadDatad
  4. TPictured
  5. TCommentTextd
  6. TLogFontd
  7. Times New Roman
  8. densed BT
  9. Nonparametric Statistics
  10. nnnnnnnnnnnnnnnnnnnnnnnn]
  11. TExpressiond
  12. A:50*onesvec(10)
  13. TExpressiond
  14. B:60*onesvec(12)
  15. TCommentTextd
  16. Note that you can freeze the random number generator with a call to
  17. randomize(seed) here. This allows you to regenerate the same random 
  18. A and B matrices repeatedly.  See below.
  19. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  20. TMatLoopd
  21. TExpressiond
  22. TExpressiond
  23. A[i]:A[i]+rnd(-20.0)
  24. TEndMatLoopd
  25. TCommentTextd
  26. Initially we will start with populations differing in mean.
  27. You should come back, change the mean, change the scatter,
  28. Decide for yourself how discriminating the Wilcoxon test is.
  29. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  30. TMatLoopd
  31. TExpressiond
  32. TExpressiond
  33. B[i]:B[i]+rnd(-20.0)
  34. TEndMatLoopd
  35. TCommentTextd
  36. produce an augmented column
  37. vector M from A and B1
  38. nnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnn]
  39. TExpressiond
  40. TExpressiond
  41. TExpressiond
  42. M:(ATUBT)T
  43. TExpressiond
  44. MR:statrank(M)
  45. TExpressiond
  46. Si:1@rows(A)@MR[i]@
  47. TCommentTextd
  48. The above shows what goes on behind the scenes
  49. of the ranksum calculationI
  50. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnn]
  51. TCommentTextd
  52. Wilcoxon Rank Sum Test
  53. nnnnnnnnnnnnnnnnnnnnnn]
  54. TCommentTextd
  55. sum for A    
  56. nnnnnnnnn]
  57. TExpressiond
  58. W:ranksum(A,B)
  59. TExpressiond
  60. A:rows(A)
  61. TExpressiond
  62. B:rows(B)
  63. TCommentTextd
  64. Note the use of literal subscripts A and B
  65. use Alt+D to create themC
  66. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnn]
  67. TExpressiond
  68. B+1))/2
  69. TExpressiond
  70. W:\((n
  71. B+1))/12) 
  72. THardPageBreakd
  73. TCommentTextd
  74. both matrices must contain 10 elements or more.
  75. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  76. TExpressiond
  77. W:(W-
  78. TCommentTextd
  79. two tail test
  80. nnnnnnnnnnnnn]
  81. TCommentTextd
  82. TExpressiond
  83. a:0.05
  84. TExpressiond
  85. pnorm(
  86. TCommentTextd
  87. compare pnorm to z and decide whether the data suggests that the two
  88. samples A and B come from differing populations.  You might want to
  89. freeze the random number generator as mentioned above by seeding it
  90. with randomize.  Then you could compare these results to those you would
  91. have obtained had you called ranksum(B, A) instead.
  92. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnz]
  93. TCommentTextd
  94. Mann-Whitney Test
  95. nnnnnnnnnnnnnnnnn]
  96. TCommentTextd
  97. Equivalent to the Wilcoxon rank sum test via:-
  98. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  99. TExpressiond
  100. mannwhitney(A,B)
  101. TExpressiond
  102. B+((n
  103. A+1))/2)-W
  104. TCommentTextd
  105. where the W used here is calculated based on A, ie with ranksum(A, B), not B, AO
  106. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  107. TExpressiond
  108. TExpressiond
  109. U:\((n
  110. B+1))/12) 
  111. TCommentTextd
  112. compare
  113. nnnnnnn]
  114. TExpressiond
  115. TExpressiond
  116. U:(U-
  117. TCommentTextd
  118. compare to
  119. nnnnnnnnnn]
  120. TExpressiond
  121. TCommentTextd
  122. Sign Test    
  123. nnnnnnnnn]
  124. TExpressiond
  125. ngen:12
  126. TExpressiond
  127. A:50*onesvec(ngen)
  128. TExpressiond
  129. B:60*onesvec(ngen)
  130. TCommentTextd
  131. A and B must be same size vectors!
  132. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  133. TMatLoopd
  134. TExpressiond
  135. TExpressiond
  136. A[i]:A[i]+rnd(-20.0)
  137. TCommentTextd
  138. Initially we will start with populations differing in mean.
  139. You should come back, change the mean, change the scatter,
  140. Decide for yourself how discriminating the tests are.
  141. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  142. TExpressiond
  143. B[i]:B[i]+rnd(-20.0)
  144. TEndMatLoopd
  145. THardPageBreakd
  146. TExpressiond
  147. TExpressiond
  148. TExpressiond
  149. M:AUB
  150. TExpressiond
  151. statrank(M)
  152. TExpressiond
  153. ST:signtest(A,B)
  154. TExpressiond
  155. S:ST[1]
  156. TCommentTextd
  157. number of plus differences betwee the elements of A and B9
  158. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  159. TExpressiond
  160. n:ST[2]
  161. TCommentTextd
  162. number nonzero differences between the elements of A and B:
  163. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  164. TExpressiond
  165. S:n/2
  166. TExpressiond
  167. S:\n/2    
  168. TCommentTextd
  169. n must be 10 or more
  170. nnnnnnnnnnnnnnnnnnnn]
  171. TExpressiond
  172. S:(ST[1]-
  173. TCommentTextd
  174. again, for
  175. nnnnnnnnnn]
  176. TExpressiond
  177. a:0.05
  178. TExpressiond
  179. pnorm(
  180. THardPageBreakd
  181. TCommentTextd
  182. Wilcoxon Signed-Rank Test
  183. nnnnnnnnnnnnnnnnnnnnnnnnn]
  184. TExpressiond
  185. SR:signedrank(A,B)
  186. TExpressiond
  187. T:SR[1]
  188. TCommentTextd
  189. sum of signed ranks for the pairs with nonzero differences:
  190. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  191. TExpressiond
  192. n:SR[2]
  193. TCommentTextd
  194. number of nonzero differences between the elements of A and B=
  195. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  196. TCommentTextd
  197. n must be 10 or more
  198. nnnnnnnnnnnnnnnnnnnn]
  199. TExpressiond
  200. TExpressiond
  201. T:\((n*(n+1)*(2*n+1))/6)
  202. TExpressiond
  203. T:(T-
  204. TCommentTextd
  205. Kruskal-Wallis Test
  206. nnnnnnnnnnnnnnnnnnn]
  207. TCommentTextd
  208. similar to Wilcoxon rank-sum test,  but applies to more than two samplesH
  209. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  210. TExpressiond
  211. D:58*onesvec(ngen)
  212. TExpressiond
  213. C:55*onesvec(ngen)
  214. TCommentTextd
  215. create two more samples to go with A and B*
  216. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  217. TMatLoopd
  218. TExpressiond
  219. TExpressiond
  220. C[i]:C[i]+rnd(-20.0)
  221. TExpressiond
  222. D[i]:D[i]+rnd(-20.0)
  223. TCommentTextd
  224. Initially we will start with populations differing in mean.
  225. You should come back, change the mean, change the scatter,
  226. Decide for yourself how discriminating the tests are.
  227. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  228. TEndMatLoopd
  229. TExpressiond
  230. M:AUBUCUD    
  231. TExpressiond
  232. SR:statrank(M)
  233. TExpressiond
  234. THardPageBreakd
  235. TCommentTextd
  236. Behind the scenes
  237. nnnnnnnnnnnnnnnnn]
  238. TExpressiond
  239. n:rows(SR)*cols(SR)
  240. TExpressiond
  241. K:(12.0/(n*(n+1))*Si:1@cols(SR)@(sum(SR
  242. )^2/rows(SR))@)-3*(n+1)A
  243. TCommentTextd
  244. simpler is:
  245. nnnnnnnnnnn]
  246. TExpressiond
  247. 1.0*kruskalwallis(M)
  248. TExpressiond
  249. pchisq(0.95,cols(SR)-1)
  250. TCommentTextd
  251. Note that the built-in kruskalwallis() requires same sized samples.  This is only a restriction
  252. of the this function, not the test itself.  If your samples are not the same size, proceed as follows:
  253. We will pretend A, B, C, and D are different sizes even though they are not.
  254. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  255. TCommentTextd
  256. create a combined vector from the originals+
  257. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  258. TExpressiond
  259. V:(ATUBTUCTUDT)T
  260. TExpressiond
  261. nItems:M00040001rows(A)@rows(B)@rows(C)@rows(D)@0
  262. TCommentTextd
  263. create a vector of the sizes of the original vectors
  264. in the same order that they were augmented into the
  265. combined vector.  Here they are all of size ngen, but
  266. this will not always be the case.
  267. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  268. TExpressiond
  269. 1.0*kruskalwallisv(nItems,V)
  270. TCommentTextd
  271. Number of Runs Test
  272. nnnnnnnnnnnnnnnnnnn]
  273. TCommentTextd
  274. Used to discover whether the elements of a sequence are in random order.H
  275. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  276. TCommentTextd
  277. We will analyze the vector V that we just created above for runs. We pass the numruns
  278. function the vector with data and a number that serves to divide the data into two groups.
  279. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  280. TCommentTextd
  281. Returns vector with 4 elements
  282. number of runs >= separator
  283. number of runs < separator
  284. number of vector elements >= separator
  285. number of vector elements < separator
  286. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnzznnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  287. TExpressiond
  288. NR:numruns(V,65)
  289. THardPageBreakd
  290. TCommentTextd
  291. if we refer to the elements >= separator as Heads, then7
  292. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  293. TExpressiond
  294. H:NR[3]    
  295. TExpressiond
  296. T:NR[4]    
  297. TExpressiond
  298. RH:\((n
  299. T+1)*(n
  300. H-1))/((n
  301. T)^2)*(n
  302. T-1)))>
  303. TExpressiond
  304. RH:(n
  305. T+1))/(n
  306. TNumberFormatDatad
  307. TExpressiond
  308. RH:(NR[1]-
  309. TCommentTextd
  310. The Friedman Test
  311. nnnnnnnnnnnnnnnnn]
  312. TExpressiond
  313. r:1.0*friedman(M)
  314. TCommentTextd
  315. Behind the scenes:
  316. nnnnnnnnnnnnnnnnnn]
  317. TExpressiond
  318. b:rows(M)    
  319. TExpressiond
  320. k:cols(M)    
  321. TExpressiond
  322. TMatLoopd
  323. TExpressiond
  324. TCommentTextd
  325. loop over the rows of R
  326. nnnnnnnnnnnnnnnnnnnnnnn]
  327. TExpressiond
  328. :statrank(R
  329. TEndMatLoopd
  330. TExpressiond
  331. TExpressiond
  332. THardPageBreakd
  333. TExpressiond
  334. r:(12/(b*k*(k+1))*Si:1@k@sum(R
  335. )^2@)-3*b*(k+1)2
  336. TNumberFormatDatad
  337. TCommentTextd
  338. compare to 
  339. nnnnnnnnnnn]
  340. TExpressiond
  341. pchisq(0.95,k-1)
  342. TCommentTextd
  343. either k or b must be more than 5!
  344. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn]
  345. TCommentTextd
  346. Spearman's Rank Correlation
  347. nnnnnnnnnnnnnnnnnnnnnnnnnnn]
  348. TCommentTextd
  349. provides a measure of how well two rankings are correlated
  350. It ranges from -1 to 1 with -1 indicating perfect aniticorrelation, 0 no correlation,
  351.  and 1 perfect correlation.
  352. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnn]
  353. TExpressiond
  354. B:statrank(B)
  355. TExpressiond
  356. A:statrank(A)
  357. TCommentTextd
  358. There is nothing special
  359. about these list.  I just
  360. used statrank() to produce
  361. vectors containing random
  362. rankings from vectors 
  363. containing random numbers.
  364. nnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnn]
  365. TExpressiond
  366. s:rankcorr(A,B)
  367. TPrinterDimensionsd
  368. TSPadInitDatad
  369. TLogFontd
  370. Times New Roman
  371. densed BT
  372. TLogFontd
  373. Arial
  374. TLogFontd
  375. Arial
  376. TLogFontd
  377. Symbol
  378. TLogFontd
  379. Symbol
  380. TNumberFormatDatad
  381. TGraphSetupDatad
  382. TPageSetupDatad
  383. R-Tek Scratchpad Example File RANKSTAT
  384.